package com.wxzz.elearing.livetelecast.entity;

import com.wxzz.elearning.common.bean.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

/**
 * <p>
 * 直播录播文件
 * </p>
 *
 * @author
 * @since 2021-05-14
 */
@Data
@EqualsAndHashCode(callSuper = true)
@Accessors(chain = true)
@ApiModel(value = "LivetelecastRecord对象", description = "直播录播文件")
public class LivetelecastRecord extends BaseEntity {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "直播id")
    private Long livetelecastId;

    @ApiModelProperty(value = "直播推流密钥")
    private String streamName;

    @ApiModelProperty(value = "媒资id")
    private String assetId;

    @ApiModelProperty(value = "录制格式，支持HLS、FLV和MP4格式")
    private String recordFormat;

    @ApiModelProperty(value = "录制文件播放地址，可以直接播放（录播源文件）")
    private String playUrl;

    @ApiModelProperty(value = "录制文件的下载地址（录播源文件）")
    private String downloadUrl;

    @ApiModelProperty(value = "文件大小，单位：Byte")
    private Integer fileSize;

    @ApiModelProperty(value = "录制文件的时长，单位：秒")
    private Integer recordDuration;

    @ApiModelProperty(value = "录制文件的开始时间")
    private String recordStartTime;

    @ApiModelProperty(value = "录制文件的结束时间")
    private String recordEndTime;

    @ApiModelProperty(value = "录制文件分辨率的宽")
    private Integer width;

    @ApiModelProperty(value = "录制文件分辨率的高")
    private Integer height;

    @ApiModelProperty(value = "存储录制文件的OBS桶所在区域（录播源文件）")
    private String obsLocation;

    @ApiModelProperty(value = "存储录制文件的OBS桶（录播源文件）")
    private String obsBucket;

    @ApiModelProperty(value = "OBS桶存储录制文件的路径（录播源文件）")
    private String obsObject;

    @ApiModelProperty(value = "讲师id")
    private Long docentId;

}
